Consumers, and businesses alike take for granted that transaction processing systems, such as a system that handles credit card, or debit card transactions will work. However this system is extremely complex. If a piece of equipment, either software or hardware, were to fail, become unstable, or crash, it could be disastrous. Because of the consequences associated with a failure in the system, financial service providers are hesitant to implement new features, services, or even migrate software from one server to another without knowing that the system will not fail. Not only are some administrators worried that their transaction processing systems may fail, but they are worried that any changes to their existing setup could adversely affect background processes running supporting the transaction processing system such as processes configured to detect fraud or protect the server from hackers. If a system administrator implements a new service, they want to know that the server will be able to process financial transactions, and implement any services that support the financial transaction processing system.